package com.bb.flow.config.enumtype;

/**
 * @author bigbeard
 * 等待方式
 */
public enum WaitType {
    /**
     * 所有节点都支持.
     */
    NOT_WAIT(1, "不等待"),
    /**
     * 功能节点/子流程节点:等待指定时间,此时必须配置等待时间(WaitTime)而且必须大于0的整数
     * 容器节点:按照等待所有(WAIT_ALL)进行处理
     * 时间单位：秒
     */
    WAIT_TIME(2, "等待指定时间"),
    /**
     * 容器节点:一直等待直到所有容器内所有节点都完成,则认为容器节点完成;
     * 其他节点:一直等待
     */
    WAIT_ALL(3, "等待所有");

    private final String name;
    private final int code;

    WaitType(int code, String name) {
        this.name = name;
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public int getCode() {
        return code;
    }

    @Override
    public String toString() {
        return super.toString().toUpperCase();
    }
}
